#include <bits/stdc++.h>
using namespace std;
int totalzero = 0;
int totalone = 0;
int n;
int ret=0;
//因为我们在找到一种情况下的时候已经考虑了两种情况 就是ret+=2
//因此我们的窗口的最右边不用包括我们的最后一个元素
//我们可以通过画图看出来比如我们元素6个
//      1 0 1 1 0 1
//此时前三个进行染色此时left指向第一个元素right指向第三个元素 此时满足情况 我们ret+=2
//当我们的left指向第四个元素的时候 right指向最后一个的时候 你会发现 此时虽然也满足 但是我们在left指向第一个元素right指向第三个
//元素的时候已经添加过答案 因此我们的right最多指向最后一个元素的上一个元素
int main()
{
    cin >> n;
    string nums;
    cin>>nums;
    for (int i = 0; i < n; i++)
    {
       
        if (nums[i] == '0')
            totalzero++;
        else
            totalone++;
    }
    int curzero = 0;
    int curone = 0;
    for (int left = 0, right = 0; right < n-1;right++)
    {
        // 进窗口
        if (nums[right] == '0')
        {
            curzero++;
        }
        else
        {
            curone++;
        }
        while (right - left + 1 > n / 2)
        {
            if (nums[left] == '0')
            {
                curzero--;
            }
            else
            {
                curone--;
            }
            left++;
        }
        if(right-left+1==n/2)
        {
            if(curone==totalone-curone&&curzero==totalzero-curzero)
            {
                //这里就考虑了成环的情况
                ret+=2;
            }
        }

    }
    cout<<ret<<endl;
    return 0;
}